The invention relates generally to a multi-dimensional signal processing method and apparatus, and in particular to a method and apparatus useful for processing multi-dimensional signals, such as two-dimensional pictorial images.
The invention is particularly pertinent to the field of image data processing and compression. Image data compression is a process which allows images to be transmitted in coded form over a communications channel using fewer bits of data than required to transmit an uncoded image. By reducing the quantity of data that is transmitted, the received picture is generally degraded in quality from the original. The goal of a particular image data compression method and apparatus is to minimize the amount of degradation that occurs for a given data rate.
One well known compression technique is transform coding. This method involves taking a transformation of the image data to provide a sequence of coefficients which can be encoded using, for example, a non-equal number of bits for each resulting coefficient. In particular, the number of bits employed is based upon the logarithm of the variance for a particular coefficient. At the receiver, the coded coefficient data is employed for reconstructing the coefficient values and performing the inverse of the original transform to obtain an image representative of the original data.
One form of transform coding, block image coding, is often used to accommodate localized variations in image characteristics. With block image coding, a digitized function (here referred to as an "image") is decomposed into small rectangular regions (or "blocks") which are transform coded and transmitted through a communications channel (generally a digital channel). At the receiver, the blocks are decoded and re-assembled in order to reconstruct the image. In a typical situation, an image composed of an array of 256.times.256 picture elements (pixels) can be viewed as an array of 16.times.16 blocks, where each block contains 16.times.16 pixels.
There are several reasons for breaking up the image into blocks before coding, among them, considerations of the amount of data to be processed by the coder at each time, and the possibility of adapting the coder to the particular characteristics of each block. When the coder is designed on the basis of an efficient algorithm, block image coding is one of the best techniques to achieve significant data compression factors for a given picture quality.
One of the most efficient ways to code each block is to apply the Discrete Cosine Transform (DCT) to the block, followed by some adaptive quantization scheme. The DCT is a linear transformation that generates a new block of pixels, with each new pixel being a linear combination of all the incoming pixels of the original block. What distinguishes one linear transform from the others is the set of coefficients used in the linear combinations that define each transformed pixel. The particular set used in the DCT has the property of approximating closely what would be an statistically-optimal set, and at the same time leading to a fast computation algorithm. The "almost-optimality" of the DCT implies that the degree of data compression obtained is very close to the theoretical maximum that can be achieved for any given reconstruction-error level.
The major disadvantage of block image coding is that the image is degraded by the coding process and the boundaries of the reconstructed blocks can be clearly visible in the resulting received image. In particular, this occurs because in accordance with prior art block transform coding techniques, the quantization noise is generally correlated within blocks but is independent between blocks, yielding mismatches at block boundaries. Because of these blocking artifacts, coded images appear to be composed of "tiles".
Generally, when the amount of data compression in a block coded image is enough to produce significant errors inside the blocks, the blocking artifacts cause the block boundaries to become highly visible. This blocking effect is very annoying because the eye is quite sensitive to mismatches across the block boundaries. With the increasing interest on image coders for very low data rates for video teleconferencing applications, it is important to minimize the blocking effects.
Several techniques have been described in the prior art for reducing blocking effects. One approach is to overlap the blocks slightly, by one pixel for example, and reconstruct the overlapping regions at the receiver by using the average of the reconstructed pixels from each of the overlapping blocks. This method leads to an overhead in the amount of data to be transmitted, since the blocks have to be larger.
Another technique, which does not require any additional data to be transmitted, is to use a spatially-variant low-pass filter that blurs the image in the block boundary regions. Although the latter technique is very effective in reducing the blocking effects, image details which happen to be on block boundaries are also blurred, with a perceptible loss in sharpness.
Another approach is to use the Short-Space Fourier Transform, generally referred to as the SSFT, as described in U.S. patent application Ser. No. 713,478. The SSFT is an extension of the Short-Time Fourier Transform (STFT) for two-dimensional signals. Like the STFT, the SSFT breaks up the signal into blocks, but the recovery process is such that no discontinuities are introduced in the reconstructed signal. Thus, the SSFT is intrinsically free from discontinuity blocking effects. However, another artifact, in the form of ringing in the neighborhood of edges, may be introduced. Computationally, the SSFT is less efficient than the DCT or other "fact" transforms.
It is an object of the present invention to provide an improved apparatus and method for transforming an n-dimensional function.
Another object is to provide an improved method and apparatus for processing an n-dimensional digitized signal with minimal blocking artifacts.